package com.wujian.love.contants;

/**
 * @ClassName: RocketMQContants
 * @description:
 * @author: wujian
 * @Date: 2020-07-03 10:30
 **/
public class RocketMQContants {


    public static final String NAMESERVER ="101.200.157.207:9876";

    /**
     * 消息类型:订单超时未支付的消息
     **/
    public static final String MSG_TYPE = "CANCEL_ORDER_TYPE";
    /**
     * 消息类型:扣减库存消息类型
     **/
    public static final String STOCK_ORDER_MSG_TYPE = "STOCK_ORDER_TYPE";


    /**
     * messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
     * 这个配置下标从1开始 比如级别2是延时5秒、级别5是延时1分钟。
     * 默认配置在不满足需求的情况下，可以在broker配置文件加入messageDelayLevel参数覆盖默认的延时级别配置。
     **/
    public static final int ORDER_CANCEL_DELAY_LEVEL = 5;

    /**
     * 订单类的topic
     * topic（主题）： 一种消息的逻辑分类（消息的类型）
     * 比如说你有订单类的消息，也有库存类的消息，那么就需要进行分类存储。
     * 生产者方面：发消息时需指定topic，可以有1-n个生产者发布1个topic的消息，也1个生产者可以发布不同topic的消息。
     * 消费者方面：收消息时需订阅topic，可以有1-n个消费者组订阅1个topic的消息，1个消费者组可以订阅不同topic的消息。
     * 1个消息必须指定1个topic，topic允许自动创建与手工创建，topic创建时需要指定broker，可以指定1个或多个，
     * name server就是通过broker与topic的映射关系来做路由。
     * producer和consumer在生产和消费消息时，都需要指定消息的 topic，当topic匹配时，
     * consumer 才会消费到producer发送的消息。topic与broker是多对多的关系，一个topic分布在多个broker上，
     * 一个broker可以配置多个topic。
     **/
    public static final String ORDER_TOPIC = "ORDER_TOPIC";


    public static final String ORDER_STOCK_TOPIC = "ORDER_STOCK_TOPIC";


    /**
     * tag（标签）: 标签可以被认为是对topic的进一步细化。
     * 一般在相同业务模块中通过引入标签来标记不同用途的消息。区分相同topic下不同种类的消息。
     * 生产到哪个topic的哪个tag下，消费者也是从topic的哪个tag进行消费，即实现消息的过滤
     * 取消订单tag
     **/
    public static final String ORDER_CANCEL_TAG = "ORDER_CANCEL_TAG";


    /**
     * 订单扣减库存
     **/
    public static final String ORDER_STOCK_TAG = "ORDER_STOCk_TAG";


}
